Calendar All Tests
Current file: /home/estudydev/workspace/eStudy_svn/web/planspiel/classes/class.planspiellist.inc.php
Legend: executed not executed dead code

  Coverage
  Classes Methods Lines
Total
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 10
0.00 %0.00%
0.00% 0 / 202
 
PlanspielList
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 10
0.00 %0.00%
0.00% 0 / 202
 public function listPlanspiel($courseID)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 66
 public function getPlanspiel($courseID)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 14
 public function countPlanspiel($courseID)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 10
 public function getPlanspielRoleIDs($courseID)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 8
 public function getPlanspielOfUser($courseID, $userID, $includeFinished = false)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 31
 public function getPlanspielByRoleID($courseID, $userID, $roleID, $includeFinished = false)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 13
 public function getPlanspielWhereLeader($courseID, $userID, $includeFinished = false)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 11
 public function getPlanspielWhereResponsible($courseID, $userID, $includeFinished = false)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 15
 public function getPlanspielWhereEditor($courseID, $userID, $includeFinished = false)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 17
 public function getPlanspielWhereReviewer($courseID, $userID, $includeFinished = false)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 17


       1                 : <?php                                                                                                                                                                                                                                                                                                                               
       2                 : /*--------------------------------------------------------------------------+                                                                                                                                                                                                                                                       
       3                 : This file is part of eStudy.                                                                                                                                                                                                                                                                                                        
       4                 : planspiel/classes/class.planspiellist.inc.php                                                                                                                                                                                                                                                                                       
       5                 : - Modulgruppe:  Planspiel                                                                                                                                                                                                                                                                                                           
       6                 : - Beschreibung: Auflisten der Planspiele eines Kurses.                                                                                                                                                                                                                                                                              
       7                 : - Version:      0.7, 02/03/07                                                                                                                                                                                                                                                                                                       
       8                 : - Autor(en):    Clemens Weiß <clemens.weiss@mni.fh-giessen.de>                                                                                                                                                                                                                                                                     
       9                 : +---------------------------------------------------------------------------+                                                                                                                                                                                                                                                       
      10                 : This program is free software; you can redistribute it and/or                                                                                                                                                                                                                                                                       
      11                 : modify it under the terms of the GNU General Public License                                                                                                                                                                                                                                                                         
      12                 : as published by the Free Software Foundation; either version 2                                                                                                                                                                                                                                                                      
      13                 : of the License, or any later version.                                                                                                                                                                                                                                                                                               
      14                 : +---------------------------------------------------------------------------+                                                                                                                                                                                                                                                       
      15                 : This program is distributed in the hope that it will be useful,                                                                                                                                                                                                                                                                     
      16                 : but WITHOUT ANY WARRANTY; without even the implied warranty of                                                                                                                                                                                                                                                                      
      17                 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                                                                                                                                                                                                                                                       
      18                 : GNU General Public License for more details.                                                                                                                                                                                                                                                                                        
      19                 : You should have received a copy of the GNU General Public License                                                                                                                                                                                                                                                                   
      20                 : along with this program; if not, write to the Free Software                                                                                                                                                                                                                                                                         
      21                 : Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.                                                                                                                                                                                                                                                         
      22                 : +--------------------------------------------------------------------------*/                                                                                                                                                                                                                                                       
      23                 : /**                                                                                                                                                                                                                                                                                                                                 
      24                 :  * Auflisten der Planspiele eines Kurses.                                                                                                                                                                                                                                                                                           
      25                 :  * @package eStudy.Planspiel                                                                                                                                                                                                                                                                                                        
      26                 :  * @version 0.7, 02/03/07                                                                                                                                                                                                                                                                                                           
      27                 :  * @author Clemens Weiß <clemens.weiss@mni.fh-giessen.de>                                                                                                                                                                                                                                                                          
      28                 :  */                                                                                                                                                                                                                                                                                                                                 
      29                 : require_once (PATH_TO_ROOT."planspiel/classes/class.planspiel.inc.php");                                                                                                                                                                                                                                                            
      30                 : require_once (PATH_TO_ROOT."planspiel/classes/class.phase.inc.php");                                                                                                                                                                                                                                                                
      31                 : require_once (PATH_TO_ROOT."planspiel/classes/class.color_indicator.inc.php");                                                                                                                                                                                                                                                      
      32                 : define("PLANSPIEL_ALL_COURSES", -1);                                                                                                                                                                                                                                                                                                
      33                 : class PlanspielList {                                                                                                                                                                                                                                                                                                               
      34                 :     /**                                                                                                                                                                                                                                                                                                                             
      35                 :      * Listet die Planspiele des übergebenen Kurses auf.                                                                                                                                                                                                                                                                           
      36                 :      *                                                                                                                                                                                                                                                                                                                              
      37                 :      * @static                                                                                                                                                                                                                                                                                                                      
      38                 :      * @access public                                                                                                                                                                                                                                                                                                               
      39                 :      * @param int $courseID ID des Kurses                                                                                                                                                                                                                                                                                           
      40                 :      * @return false bei fehlerhafter Kurs-ID, sonst true                                                                                                                                                                                                                                                                           
      41                 :      */                                                                                                                                                                                                                                                                                                                             
      42                 :     function listPlanspiel($courseID) {                                                                                                                                                                                                                                                                                             
      43               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                      
      44               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                               
      45               0 :         if (strval(intval($courseID)) != $courseID || $courseID <= 0) {                                                                                                                                                                                                                                                             
      46               0 :             return false;                                                                                                                                                                                                                                                                                                           
      47                 :         }                                                                                                                                                                                                                                                                                                                           
      48               0 :         $planspiele = PlanspielList::getPlanspiel($courseID);                                                                                                                                                                                                                                                                       
      49               0 :         if (!empty($planspiele)) {                                                                                                                                                                                                                                                                                                  
      50               0 :             $planspielRoles = PlanspielList::getPlanspielRoleIDs($courseID);                                                                                                                                                                                                                                                        
      51               0 :             echo "<table class='contentTable'>\n";                                                                                                                                                                                                                                                                                  
      52               0 :             Output::echoTableHead("Planspiele", 7);                                                                                                                                                                                                                                                                                 
      53               0 :             echo "<tr><th>Map</th><th>Name</th><th>Spielleiter(in)</th><th>Abgeschlossen</th><th>Aufwand</th><th>Budget</th><th></th></tr>";                                                                                                                                                                                        
      54               0 :             foreach($planspiele as $planspiel) {                                                                                                                                                                                                                                                                                    
      55               0 :                 $ID = $planspiel->getID();                                                                                                                                                                                                                                                                                          
      56               0 :                 echo "<tr valign='top'>";                                                                                                                                                                                                                                                                                           
      57               0 :                 echo "<td>".($planspiel->getMapID() ? $planspiel->getMapThumbnail() : "Keine Map vorhanden.") ."<br />&nbsp;</td>";                                                                                                                                                                                                 
      58               0 :                 echo "<td><b>".$planspiel->getLink(false)."</b><br />";                                                                                                                                                                                                                                                             
      59                 :                                                                                                                                                                                                                                                                                                                                     
      60                 :                 //Deadline                                                                                                                                                                                                                                                                                                          
      61               0 :                 $deadline = $db->get_var("SELECT deadline FROM {$dbp}planspiel WHERE ID='$ID'");                                                                                                                                                                                                                                    
      62               0 :                 if($deadline == NULL){                                                                                                                                                                                                                                                                                              
      63               0 :                     echo "DL: n.d.<br />";                                                                                                                                                                                                                                                                                          
      64               0 :                 } else {                                                                                                                                                                                                                                                                                                            
      65               0 :                     $timestamp = $db->get_var("SELECT deadline FROM {$dbp}planspiel WHERE ID='$ID'");                                                                                                                                                                                                                               
      66               0 :                     echo "DL: ".date("d.m.Y, H:i",$timestamp)." Uhr<br />";                                                                                                                                                                                                                                                         
      67                 :                 }                                                                                                                                                                                                                                                                                                                   
      68                 :                                                                                                                                                                                                                                                                                                                                     
      69               0 :                 $document_count = $db->get_var("SELECT count(planspiel_document.id) FROM planspiel                                                                                                                                                                                                                                  
      70                 :                                                                                     JOIN planspiel_phase on (planspiel.id = planspiel_phase.planspiel_id)                                                                                                                                                                           
      71                 :                                                                                     JOIN planspiel_document on (planspiel_phase.id = planspiel_document.phase_id)                                                                                                                                                                   
      72               0 :                                                                                     WHERE planspiel.id = '".$planspiel->getID()."'");                                                                                                                                                                                               
      73               0 :                 $document_finished = $db->get_var("SELECT count(planspiel_document.id) FROM planspiel                                                                                                                                                                                                                               
      74                 :                                                                                           JOIN planspiel_phase on (planspiel.id = planspiel_phase.planspiel_id)                                                                                                                                                                     
      75                 :                                                                                        JOIN planspiel_document on (planspiel_phase.id = planspiel_document.phase_id)                                                                                                                                                                
      76               0 :                                                                                        WHERE planspiel.id = '".$planspiel->getID()."'                                                                                                                                                                                               
      77               0 :                                                                                        AND accepted <>0");                                                                                                                                                                                                                          
      78               0 :                 $milestone_count = $db->get_var("SELECT count(planspiel_phase.id)  FROM planspiel                                                                                                                                                                                                                                   
      79                 :                                                                                    JOIN planspiel_phase on (planspiel.id = planspiel_phase.planspiel_id)                                                                                                                                                                            
      80               0 :                                                                                    WHERE planspiel.id = '".$planspiel->getID()."'                                                                                                                                                                                                   
      81               0 :                                                                                    AND is_milestone=1");                                                                                                                                                                                                                            
      82               0 :                 $milestone_finished = $db->get_var("SELECT count(planspiel_phase.id)  FROM planspiel                                                                                                                                                                                                                                
      83                 :                                                                                       JOIN planspiel_phase on (planspiel.id = planspiel_phase.planspiel_id)                                                                                                                                                                         
      84               0 :                                                                                       WHERE planspiel.id = '".$planspiel->getID()."'                                                                                                                                                                                                
      85                 :                                                                                       AND is_milestone=1                                                                                                                                                                                                                            
      86               0 :                                                                                       AND planspiel_phase.finished=1");                                                                                                                                                                                                             
      87               0 :                 if ($document_count  == 0){                                                                                                                                                                                                                                                                                         
      88               0 :                     echo "Fortschritt: 0% <br />";                                                                                                                                                                                                                                                                                  
      89               0 :                 } else {                                                                                                                                                                                                                                                                                                            
      90               0 :                     echo "Fortschritt: ".number_format($document_finished*100/$document_count, 0)."% <br />";                                                                                                                                                                                                                       
      91                 :                 }                                                                                                                                                                                                                                                                                                                   
      92                 :                   // Link zu den Project Details                                                                                                                                                                                                                                                                                    
      93               0 :                 echo "<a href='projectdetails.php?ID=".$planspiel->getID() ."&amp;tab=1' title='Details anzeigen'"."><img alt='Statistik anzeigen' src='".PATH_TO_ROOT."images/icon_planspiel_statistics.gif'/> Details</a>";                                                                                                       
      94               0 :                 echo "</td><td>".$planspiel->getLeader() ."</td>";                                                                                                                                                                                                                                                                  
      95               0 :                 $phase_count = $planspiel->getPhasesCount();                                                                                                                                                                                                                                                                        
      96               0 :                 $phase_finished = $planspiel->getFinishedPhasesCount();                                                                                                                                                                                                                                                             
      97                 :                                                                                                                                                                                                                                                                                                                                     
      98                 :                 //Variablen für die Ausgabe der Dokumente und Meilensteine                                                                                                                                                                                                                                                         
      99               0 :                 echo "<td><a href='".PATH_TO_ROOT.SCRIPT_NAME."?action=showPhases&amp;ID=".$planspiel->getID() ."' title='Phasen anzeigen'>$phase_finished/$phase_count&nbsp;Phase".($phase_count == 1 ? "" : "n") ."</a><br />";                                                                                                   
     100               0 :                 echo $document_finished."/".$document_count." Dokument".($document_count == 1 ? "" : "e") ."<br />";                                                                                                                                                                                                                
     101               0 :                 echo $milestone_finished."/".$milestone_count." Meilenstein".($milestone_count == 1 ? "" : "e") ."";                                                                                                                                                                                                                
     102                 :                                                                                                                                                                                                                                                                                                                                     
     103               0 :                 echo "</td><td>";                                                                                                                                                                                                                                                                                                   
     104               0 :                 echo "A: ".$planspiel->getEstimatedEffort() ."<br />";                                                                                                                                                                                                                                                              
     105               0 :                 echo "B: ".$planspiel->getDaysSpent() ."<br />";                                                                                                                                                                                                                                                                    
     106               0 :                 echo "C: ".$planspiel->getETC();                                                                                                                                                                                                                                                                                    
     107               0 :                 echo "</td>";                                                                                                                                                                                                                                                                                                       
     108                 :                                                                                                                                                                                                                                                                                                                                     
     109                 :                 //Budget Balken                                                                                                                                                                                                                                                                                                     
     110               0 :                 if ($planspiel->getEstimatedEffort() == "0"){                                                                                                                                                                                                                                                                       
     111               0 :                     $colors = new ColorIndicator("100", "0");                                                                                                                                                                                                                                                                       
     112               0 :                 } else {                                                                                                                                                                                                                                                                                                            
     113               0 :                     $colors = new ColorIndicator("100", ((($planspiel->getDaysSpent())+($planspiel->getETC()))*100/($planspiel->getEstimatedEffort())));                                                                                                                                                                            
     114                 :                 }                                                                                                                                                                                                                                                                                                                   
     115               0 :                 $colors->is_budget();                                                                                                                                                                                                                                                                                               
     116                 :                 ?> <td> <table border="1" cellpadding="0" style="height: 35px; border-collapse: collapse; border-color: #000000; width: 10px;" >                                                                                                                                                                                    
     117                 :                          <tr>                                                                                                                                                                                                                                                                                                       
     118               0 :                              <td title="<?php echo $colors->tooltip; ?>" style=" background-color:<?php echo $colors->budget_color; ?>;">&nbsp;</td>                                                                                                                                                                                
     119                 :                          </tr>                                                                                                                                                                                                                                                                                                      
     120                 :                         </table></td>                                                                                                                                                                                                                                                                                               
     121               0 :                     <?php                                                                                                                                                                                                                                                                                                           
     122                 :                                                                                                                                                                                                                                                                                                                                     
     123               0 :                 if ($_SESSION["usergroup"] == ADMIN || ($_SESSION["usergroup"] == DOZENT && $courseID > 0) || (isset($_SESSION["roleID"]) && $_SESSION["roleID"] == $planspielRoles["leader"] && $_SESSION["userid"] == $planspiel->getLeaderID())) {                                                                               
     124               0 :                     echo "<td><a href='".PATH_TO_ROOT.SCRIPT_NAME."?action=editPlanspiel&amp;ID=".$planspiel->getID() ."'>".Output::getIcon("icon_edit", "Bearbeiten") ."</a><a href='".PATH_TO_ROOT.SCRIPT_NAME."?action=deletePlanspiel&amp;ID=".$planspiel->getID() ."'>".Output::getIcon("icon_muell", "Löschen") ."</a></td>";
     125               0 :                 } else {                                                                                                                                                                                                                                                                                                            
     126               0 :                     echo "<td></td>";                                                                                                                                                                                                                                                                                               
     127                 :                 }                                                                                                                                                                                                                                                                                                                   
     128               0 :                 echo "</tr>\n";                                                                                                                                                                                                                                                                                                     
     129               0 :             }                                                                                                                                                                                                                                                                                                                       
     130               0 :             echo "</table>\n";                                                                                                                                                                                                                                                                                                      
     131                 :                                                                                                                                                                                                                                                                                                                                     
     132               0 :             echo "<p>A: Geschätzter Aufwand<br />B: Aufgewendete Zeit<br />C: Geschätzte Zeit bis zum Abschluss<br />(alle Angaben in Personentagen)<br />DL: Deadline<br />n.d.: nicht definiert</p>";                                                                                                                           
     133                 :                                                                                                                                                                                                                                                                                                                                     
     134               0 :         } else {                                                                                                                                                                                                                                                                                                                    
     135               0 :             echo "<p>Es wurden noch keine Planspiele angelegt.</p>";                                                                                                                                                                                                                                                                
     136                 :         }                                                                                                                                                                                                                                                                                                                           
     137               0 :         return true;                                                                                                                                                                                                                                                                                                                
     138                 :     }                                                                                                                                                                                                                                                                                                                               
     139                 :     /**                                                                                                                                                                                                                                                                                                                             
     140                 :      * Gibt die Planspiele des übergebenen Kurses zurück.                                                                                                                                                                                                                                                                         
     141                 :      *                                                                                                                                                                                                                                                                                                                              
     142                 :      * @static                                                                                                                                                                                                                                                                                                                      
     143                 :      * @access public                                                                                                                                                                                                                                                                                                               
     144                 :      * @param int $courseID ID des Kurses                                                                                                                                                                                                                                                                                           
     145                 :      * @return array Array mit Planspiel-Objekten                                                                                                                                                                                                                                                                                   
     146                 :      */                                                                                                                                                                                                                                                                                                                             
     147                 :     function getPlanspiel($courseID) {                                                                                                                                                                                                                                                                                              
     148               0 :         global $db, $settings, $EZSQL_ERROR;                                                                                                                                                                                                                                                                                        
     149               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                               
     150               0 :         if (strval(intval($courseID)) != $courseID || $courseID < PLANSPIEL_ALL_COURSES) {                                                                                                                                                                                                                                          
     151               0 :             return false;                                                                                                                                                                                                                                                                                                           
     152                 :         }                                                                                                                                                                                                                                                                                                                           
     153               0 :         $where = "";                                                                                                                                                                                                                                                                                                                
     154               0 :         if ($courseID > PLANSPIEL_ALL_COURSES) {                                                                                                                                                                                                                                                                                    
     155               0 :             $where = "WHERE course_id='$courseID'";                                                                                                                                                                                                                                                                                 
     156               0 :         }                                                                                                                                                                                                                                                                                                                           
     157               0 :         $IDs = $db->get_col("SELECT id FROM {$dbp}planspiel $where ORDER BY name");                                                                                                                                                                                                                                                 
     158               0 :         $planspiele = array();                                                                                                                                                                                                                                                                                                      
     159               0 :         if ($db->num_rows) foreach($IDs as $ID) {                                                                                                                                                                                                                                                                                   
     160               0 :             $planspiele[] = new Planspiel($ID);                                                                                                                                                                                                                                                                                     
     161               0 :         }                                                                                                                                                                                                                                                                                                                           
     162               0 :         return $planspiele;                                                                                                                                                                                                                                                                                                         
     163                 :     }                                                                                                                                                                                                                                                                                                                               
     164                 :     /**                                                                                                                                                                                                                                                                                                                             
     165                 :      * Gibt die Anzahl der Planspiele in einem Kurs zurück.                                                                                                                                                                                                                                                                        
     166                 :      *                                                                                                                                                                                                                                                                                                                              
     167                 :      * @static                                                                                                                                                                                                                                                                                                                      
     168                 :      * @access public                                                                                                                                                                                                                                                                                                               
     169                 :      * @param int $courseID ID des Kurses                                                                                                                                                                                                                                                                                           
     170                 :      * @return int Anzahl der Planspiele im Kurs                                                                                                                                                                                                                                                                                    
     171                 :      */                                                                                                                                                                                                                                                                                                                             
     172                 :     function countPlanspiel($courseID) {                                                                                                                                                                                                                                                                                            
     173               0 :         global $db, $settings, $EZSQL_ERROR;                                                                                                                                                                                                                                                                                        
     174               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                               
     175               0 :         if (strval(intval($courseID)) != $courseID || $courseID < PLANSPIEL_ALL_COURSES) {                                                                                                                                                                                                                                          
     176               0 :             return false;                                                                                                                                                                                                                                                                                                           
     177                 :         }                                                                                                                                                                                                                                                                                                                           
     178               0 :         $where = "";                                                                                                                                                                                                                                                                                                                
     179               0 :         if ($courseID > PLANSPIEL_ALL_COURSES) {                                                                                                                                                                                                                                                                                    
     180               0 :             $where = "WHERE course_id='$courseID'";                                                                                                                                                                                                                                                                                 
     181               0 :         }                                                                                                                                                                                                                                                                                                                           
     182               0 :         $count = $db->get_var("SELECT COUNT(*) FROM {$dbp}planspiel $where");                                                                                                                                                                                                                                                       
     183               0 :         return intval($count);                                                                                                                                                                                                                                                                                                      
     184                 :     }                                                                                                                                                                                                                                                                                                                               
     185                 :     /**                                                                                                                                                                                                                                                                                                                             
     186                 :      * Gibt die IDs der Planspiel-Rollen des Kurses zurück.                                                                                                                                                                                                                                                                        
     187                 :      *                                                                                                                                                                                                                                                                                                                              
     188                 :      * @static                                                                                                                                                                                                                                                                                                                      
     189                 :      * @access public                                                                                                                                                                                                                                                                                                               
     190                 :      * @param int $courseID ID des Kurses                                                                                                                                                                                                                                                                                           
     191                 :      * @return mixed array mit den IDs oder false bei Fehler                                                                                                                                                                                                                                                                        
     192                 :      */                                                                                                                                                                                                                                                                                                                             
     193                 :     function getPlanspielRoleIDs($courseID) {                                                                                                                                                                                                                                                                                       
     194               0 :         global $db, $settings, $EZSQL_ERROR;                                                                                                                                                                                                                                                                                        
     195               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                               
     196               0 :         if (strval(intval($courseID)) != $courseID || $courseID < 0) {                                                                                                                                                                                                                                                              
     197               0 :             return false;                                                                                                                                                                                                                                                                                                           
     198                 :         }                                                                                                                                                                                                                                                                                                                           
     199               0 :         $IDs = $db->get_col("SELECT {$dbp}roles.id FROM {$dbp}roles JOIN {$dbp}rolesets ON set_id={$dbp}rolesets.id WHERE course_id='$courseID' AND {$dbp}rolesets.source_id=1 ORDER BY {$dbp}roles.source_id");                                                                                                                    
     200               0 :         if (!is_null($IDs)) {                                                                                                                                                                                                                                                                                                       
     201               0 :             return array("leader" => intval($IDs[0]), "phaseResponsible" => intval($IDs[1]), "editor" => intval($IDs[2]), "reviewer" => intval($IDs[3]),);                                                                                                                                                                          
     202                 :         }                                                                                                                                                                                                                                                                                                                           
     203               0 :         return false;                                                                                                                                                                                                                                                                                                               
     204                 :     }                                                                                                                                                                                                                                                                                                                               
     205                 :     /**                                                                                                                                                                                                                                                                                                                             
     206                 :      * Gibt die Planspiele zurück, an denen der angegebene Benutzer beteiligt ist.                                                                                                                                                                                                                                                 
     207                 :      *                                                                                                                                                                                                                                                                                                                              
     208                 :      * @static                                                                                                                                                                                                                                                                                                                      
     209                 :      * @access public                                                                                                                                                                                                                                                                                                               
     210                 :      * @param int $courseID ID des Kurses                                                                                                                                                                                                                                                                                           
     211                 :      * @param int $userID ID des Benutzers                                                                                                                                                                                                                                                                                          
     212                 :      * @param bool $includeFinished Gibt an, ob auch abgeschlossene Planspiele zurückgegeben werden sollen                                                                                                                                                                                                                         
     213                 :      * @return array Array mit Planspiel-Objekten                                                                                                                                                                                                                                                                                   
     214                 :      */                                                                                                                                                                                                                                                                                                                             
     215                 :     function getPlanspielOfUser($courseID, $userID, $includeFinished = false) {                                                                                                                                                                                                                                                     
     216               0 :         global $db, $settings, $EZSQL_ERROR;                                                                                                                                                                                                                                                                                        
     217               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                               
     218               0 :         if (strval(intval($courseID)) != $courseID || $courseID < PLANSPIEL_ALL_COURSES || strval(intval($userID)) != $userID || $userID < 1) {                                                                                                                                                                                     
     219               0 :             return false;                                                                                                                                                                                                                                                                                                           
     220                 :         }                                                                                                                                                                                                                                                                                                                           
     221               0 :         $planspiele = array();                                                                                                                                                                                                                                                                                                      
     222               0 :         foreach(PlanspielList::getPlanspiel($courseID) as $planspiel) {                                                                                                                                                                                                                                                             
     223               0 :             if (!$includeFinished && $planspiel->isFinished()) {                                                                                                                                                                                                                                                                    
     224               0 :                 continue;                                                                                                                                                                                                                                                                                                           
     225                 :             }                                                                                                                                                                                                                                                                                                                       
     226               0 :             if ($planspiel->getLeaderID() == $userID) {                                                                                                                                                                                                                                                                             
     227               0 :                 $planspiele[] = $planspiel;                                                                                                                                                                                                                                                                                         
     228               0 :             } else {                                                                                                                                                                                                                                                                                                                
     229               0 :                 $found1 = false;                                                                                                                                                                                                                                                                                                    
     230               0 :                 foreach($planspiel->getPhases() as $phase) {                                                                                                                                                                                                                                                                        
     231               0 :                     if ($phase->getResponsibleUserID() == $userID) {                                                                                                                                                                                                                                                                
     232               0 :                         $planspiele[] = $planspiel;                                                                                                                                                                                                                                                                                 
     233               0 :                         $found1 = true;                                                                                                                                                                                                                                                                                             
     234               0 :                         break;                                                                                                                                                                                                                                                                                                      
     235                 :                     } else {                                                                                                                                                                                                                                                                                                        
     236               0 :                         $found2 = false;                                                                                                                                                                                                                                                                                            
     237               0 :                         foreach($phase->getDocuments() as $doc) {                                                                                                                                                                                                                                                                   
     238               0 :                             if ($doc->getEditorUserID() == $userID || $doc->getReviewerUserID() == $userID) {                                                                                                                                                                                                                       
     239               0 :                                 $planspiele[] = $planspiel;                                                                                                                                                                                                                                                                         
     240               0 :                                 $found2 = true;                                                                                                                                                                                                                                                                                     
     241               0 :                                 break;                                                                                                                                                                                                                                                                                              
     242                 :                             }                                                                                                                                                                                                                                                                                                       
     243               0 :                         }                                                                                                                                                                                                                                                                                                           
     244               0 :                         if ($found2) {                                                                                                                                                                                                                                                                                              
     245               0 :                             $found1 = true;                                                                                                                                                                                                                                                                                         
     246               0 :                             break;                                                                                                                                                                                                                                                                                                  
     247                 :                         }                                                                                                                                                                                                                                                                                                           
     248                 :                     }                                                                                                                                                                                                                                                                                                               
     249               0 :                 }                                                                                                                                                                                                                                                                                                                   
     250               0 :                 if ($found1) continue;                                                                                                                                                                                                                                                                                              
     251                 :             }                                                                                                                                                                                                                                                                                                                       
     252               0 :         }                                                                                                                                                                                                                                                                                                                           
     253               0 :         return $planspiele;                                                                                                                                                                                                                                                                                                         
     254                 :     }                                                                                                                                                                                                                                                                                                                               
     255                 :     function getPlanspielByRoleID($courseID, $userID, $roleID, $includeFinished = false) {                                                                                                                                                                                                                                          
     256               0 :         $roles = PlanspielList::getPlanspielRoleIDs($courseID);                                                                                                                                                                                                                                                                     
     257               0 :         switch (array_search($roleID, $roles)) {                                                                                                                                                                                                                                                                                    
     258               0 :             case "leader":                                                                                                                                                                                                                                                                                                          
     259               0 :                 return PlanspielList::getPlanspielWhereLeader($courseID, $userID, $includeFinished);                                                                                                                                                                                                                                
     260               0 :             case "phaseResponsible":                                                                                                                                                                                                                                                                                                
     261               0 :                 return PlanspielList::getPlanspielWhereResponsible($courseID, $userID, $includeFinished);                                                                                                                                                                                                                           
     262               0 :             case "editor":                                                                                                                                                                                                                                                                                                          
     263               0 :                 return PlanspielList::getPlanspielWhereEditor($courseID, $userID, $includeFinished);                                                                                                                                                                                                                                
     264               0 :             case "reviewer":                                                                                                                                                                                                                                                                                                        
     265               0 :                 return PlanspielList::getPlanspielWhereReviewer($courseID, $userID, $includeFinished);                                                                                                                                                                                                                              
     266               0 :             default:                                                                                                                                                                                                                                                                                                                
     267               0 :                 return PlanspielList::getPlanspielOfUser($courseID, $userID, $includeFinished);                                                                                                                                                                                                                                     
     268               0 :         }                                                                                                                                                                                                                                                                                                                           
     269                 :     }                                                                                                                                                                                                                                                                                                                               
     270                 :     /**                                                                                                                                                                                                                                                                                                                             
     271                 :      * Gibt die Anzahl der Planspiele des Kurses zurück, in denen der Benutzer Spielleiter ist.                                                                                                                                                                                                                                    
     272                 :      *                                                                                                                                                                                                                                                                                                                              
     273                 :      * @static                                                                                                                                                                                                                                                                                                                      
     274                 :      * @access public                                                                                                                                                                                                                                                                                                               
     275                 :      * @param int $courseID ID des Kurses                                                                                                                                                                                                                                                                                           
     276                 :      * @param int $userID ID des Benutzers                                                                                                                                                                                                                                                                                          
     277                 :      * @return int Anzahl der Planspiele                                                                                                                                                                                                                                                                                            
     278                 :      */                                                                                                                                                                                                                                                                                                                             
     279                 :     function getPlanspielWhereLeader($courseID, $userID, $includeFinished = false) {                                                                                                                                                                                                                                                
     280               0 :         global $db, $settings, $EZSQL_ERROR;                                                                                                                                                                                                                                                                                        
     281               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                               
     282               0 :         if (strval(intval($courseID)) != $courseID || $courseID < PLANSPIEL_ALL_COURSES || strval(intval($userID)) != $userID || $userID < 1) {                                                                                                                                                                                     
     283               0 :             return false;                                                                                                                                                                                                                                                                                                           
     284                 :         }                                                                                                                                                                                                                                                                                                                           
     285               0 :         $planspiele = array();                                                                                                                                                                                                                                                                                                      
     286               0 :         foreach(PlanspielList::getPlanspiel($courseID) as $planspiel) {                                                                                                                                                                                                                                                             
     287               0 :             if ($planspiel->getLeaderID() == $userID) {                                                                                                                                                                                                                                                                             
     288               0 :                 $planspiele[] = $planspiel;                                                                                                                                                                                                                                                                                         
     289               0 :             }                                                                                                                                                                                                                                                                                                                       
     290               0 :         }                                                                                                                                                                                                                                                                                                                           
     291               0 :         return $planspiele;                                                                                                                                                                                                                                                                                                         
     292                 :     }                                                                                                                                                                                                                                                                                                                               
     293                 :     /**                                                                                                                                                                                                                                                                                                                             
     294                 :      * Gibt die Anzahl der Phasen des Kurses zurück, in denen der Benutzer Phasenverantwortlicher ist.                                                                                                                                                                                                                             
     295                 :      *                                                                                                                                                                                                                                                                                                                              
     296                 :      * @static                                                                                                                                                                                                                                                                                                                      
     297                 :      * @access public                                                                                                                                                                                                                                                                                                               
     298                 :      * @param int $courseID ID des Kurses                                                                                                                                                                                                                                                                                           
     299                 :      * @param int $userID ID des Benutzers                                                                                                                                                                                                                                                                                          
     300                 :      * @return int Anzahl der Phasen                                                                                                                                                                                                                                                                                                
     301                 :      */                                                                                                                                                                                                                                                                                                                             
     302                 :     function getPlanspielWhereResponsible($courseID, $userID, $includeFinished = false) {                                                                                                                                                                                                                                           
     303               0 :         global $db, $settings, $EZSQL_ERROR;                                                                                                                                                                                                                                                                                        
     304               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                               
     305               0 :         if (strval(intval($courseID)) != $courseID || $courseID < PLANSPIEL_ALL_COURSES || strval(intval($userID)) != $userID || $userID < 1) {                                                                                                                                                                                     
     306               0 :             return false;                                                                                                                                                                                                                                                                                                           
     307                 :         }                                                                                                                                                                                                                                                                                                                           
     308               0 :         $planspiele = array();                                                                                                                                                                                                                                                                                                      
     309               0 :         foreach(PlanspielList::getPlanspiel($courseID) as $planspiel) {                                                                                                                                                                                                                                                             
     310               0 :             if (!$includeFinished && $planspiel->isFinished()) {                                                                                                                                                                                                                                                                    
     311               0 :                 continue;                                                                                                                                                                                                                                                                                                           
     312                 :             }                                                                                                                                                                                                                                                                                                                       
     313               0 :             foreach($planspiel->getPhases() as $phase) {                                                                                                                                                                                                                                                                            
     314               0 :                 if ($phase->getResponsibleUserID() == $userID) {                                                                                                                                                                                                                                                                    
     315               0 :                     $planspiele[] = $planspiel;                                                                                                                                                                                                                                                                                     
     316               0 :                 }                                                                                                                                                                                                                                                                                                                   
     317               0 :             }                                                                                                                                                                                                                                                                                                                       
     318               0 :         }                                                                                                                                                                                                                                                                                                                           
     319               0 :         return $planspiele;                                                                                                                                                                                                                                                                                                         
     320                 :     }                                                                                                                                                                                                                                                                                                                               
     321                 :     /**                                                                                                                                                                                                                                                                                                                             
     322                 :      * Gibt die Anzahl der Dokumente des Kurses zurück, in denen der Benutzer Dokumentenbearbeiter ist.                                                                                                                                                                                                                            
     323                 :      *                                                                                                                                                                                                                                                                                                                              
     324                 :      * @static                                                                                                                                                                                                                                                                                                                      
     325                 :      * @access public                                                                                                                                                                                                                                                                                                               
     326                 :      * @param int $courseID ID des Kurses                                                                                                                                                                                                                                                                                           
     327                 :      * @param int $userID ID des Benutzers                                                                                                                                                                                                                                                                                          
     328                 :      * @return int Anzahl der Dokumente                                                                                                                                                                                                                                                                                             
     329                 :      */                                                                                                                                                                                                                                                                                                                             
     330                 :     function getPlanspielWhereEditor($courseID, $userID, $includeFinished = false) {                                                                                                                                                                                                                                                
     331               0 :         global $db, $settings, $EZSQL_ERROR;                                                                                                                                                                                                                                                                                        
     332               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                               
     333               0 :         if (strval(intval($courseID)) != $courseID || $courseID < PLANSPIEL_ALL_COURSES || strval(intval($userID)) != $userID || $userID < 1) {                                                                                                                                                                                     
     334               0 :             return false;                                                                                                                                                                                                                                                                                                           
     335                 :         }                                                                                                                                                                                                                                                                                                                           
     336               0 :         $planspiele = array();                                                                                                                                                                                                                                                                                                      
     337               0 :         foreach(PlanspielList::getPlanspiel($courseID) as $planspiel) {                                                                                                                                                                                                                                                             
     338               0 :             if (!$includeFinished && $planspiel->isFinished()) {                                                                                                                                                                                                                                                                    
     339               0 :                 continue;                                                                                                                                                                                                                                                                                                           
     340                 :             }                                                                                                                                                                                                                                                                                                                       
     341               0 :             foreach($planspiel->getPhases() as $phase) {                                                                                                                                                                                                                                                                            
     342               0 :                 foreach($phase->getDocuments() as $doc) {                                                                                                                                                                                                                                                                           
     343               0 :                     if ($doc->getEditorUserID() == $userID) {                                                                                                                                                                                                                                                                       
     344               0 :                         $planspiele[] = $planspiel;                                                                                                                                                                                                                                                                                 
     345               0 :                     }                                                                                                                                                                                                                                                                                                               
     346               0 :                 }                                                                                                                                                                                                                                                                                                                   
     347               0 :             }                                                                                                                                                                                                                                                                                                                       
     348               0 :         }                                                                                                                                                                                                                                                                                                                           
     349               0 :         return $planspiele;                                                                                                                                                                                                                                                                                                         
     350                 :     }                                                                                                                                                                                                                                                                                                                               
     351                 :     /**                                                                                                                                                                                                                                                                                                                             
     352                 :      * Gibt die Anzahl der Dokumente des Kurses zurück, in denen der Benutzer Dokumentenreviewer ist.                                                                                                                                                                                                                              
     353                 :      *                                                                                                                                                                                                                                                                                                                              
     354                 :      * @static                                                                                                                                                                                                                                                                                                                      
     355                 :      * @access public                                                                                                                                                                                                                                                                                                               
     356                 :      * @param int $courseID ID des Kurses                                                                                                                                                                                                                                                                                           
     357                 :      * @param int $userID ID des Benutzers                                                                                                                                                                                                                                                                                          
     358                 :      * @return int Anzahl der Dokumente                                                                                                                                                                                                                                                                                             
     359                 :      */                                                                                                                                                                                                                                                                                                                             
     360                 :     function getPlanspielWhereReviewer($courseID, $userID, $includeFinished = false) {                                                                                                                                                                                                                                              
     361               0 :         global $db, $settings, $EZSQL_ERROR;                                                                                                                                                                                                                                                                                        
     362               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                               
     363               0 :         if (strval(intval($courseID)) != $courseID || $courseID < PLANSPIEL_ALL_COURSES || strval(intval($userID)) != $userID || $userID < 1) {                                                                                                                                                                                     
     364               0 :             return false;                                                                                                                                                                                                                                                                                                           
     365                 :         }                                                                                                                                                                                                                                                                                                                           
     366               0 :         $planspiele = array();                                                                                                                                                                                                                                                                                                      
     367               0 :         foreach(PlanspielList::getPlanspiel($courseID) as $planspiel) {                                                                                                                                                                                                                                                             
     368               0 :             if (!$includeFinished && $planspiel->isFinished()) {                                                                                                                                                                                                                                                                    
     369               0 :                 continue;                                                                                                                                                                                                                                                                                                           
     370                 :             }                                                                                                                                                                                                                                                                                                                       
     371               0 :             foreach($planspiel->getPhases() as $phase) {                                                                                                                                                                                                                                                                            
     372               0 :                 foreach($phase->getDocuments() as $doc) {                                                                                                                                                                                                                                                                           
     373               0 :                     if ($doc->getReviewerUserID() == $userID) {                                                                                                                                                                                                                                                                     
     374               0 :                         $planspiele[] = $planspiel;                                                                                                                                                                                                                                                                                 
     375               0 :                     }                                                                                                                                                                                                                                                                                                               
     376               0 :                 }                                                                                                                                                                                                                                                                                                                   
     377               0 :             }                                                                                                                                                                                                                                                                                                                       
     378               0 :         }                                                                                                                                                                                                                                                                                                                           
     379               0 :         return $planspiele;                                                                                                                                                                                                                                                                                                         
     380                 :     }                                                                                                                                                                                                                                                                                                                               
     381                 : }                                                                                                                                                                                                                                                                                                                                   

Generated by PHPUnit 3.2.21 and Xdebug 2.0.3 at Thu Nov 26 17:01:15 CET 2009.